//
// Created by 吴喆 on 2020/3/5.
//

#ifndef SUMMER_PLAYER_H
#define SUMMER_PLAYER_H

#import "Texture.h"
#import "Playable.h"
#import "Animation.h"
#import <vector>
#import <unordered_map>


class Player : public Playable, public KeyboardObserver {

public:
    explicit Player(Scene *scene_);

    void onKeyboardInput(KeyEvent *event) override;

    virtual void beAtked(GameObject *gameObject) = 0;

protected:

    virtual void init();

public:

protected:
    virtual void initPlayerStateMachine() = 0;
};


#endif //SUMMER_PLAYER_H
